/**
 */
package FeatureCode;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see FeatureCode.FeatureCodeFactory
 * @model kind="package"
 * @generated
 */
public interface FeatureCodePackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "FeatureCode";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "platform:/resource/FeatureToCodeMappingModel/model/FeatureCodeMetaModel.ecore";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "FeatureCode";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	FeatureCodePackage eINSTANCE = FeatureCode.impl.FeatureCodePackageImpl.init();

	/**
	 * The meta object id for the '{@link FeatureCode.impl.MappingImpl <em>Mapping</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.impl.MappingImpl
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getMapping()
	 * @generated
	 */
	int MAPPING = 0;

	/**
	 * The feature id for the '<em><b>Expr</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MAPPING__EXPR = 0;

	/**
	 * The feature id for the '<em><b>Mapping</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MAPPING__MAPPING = 1;

	/**
	 * The number of structural features of the '<em>Mapping</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MAPPING_FEATURE_COUNT = 2;

	/**
	 * The meta object id for the '{@link FeatureCode.impl.ModuleImpl <em>Module</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.impl.ModuleImpl
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getModule()
	 * @generated
	 */
	int MODULE = 1;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MODULE__NAME = 0;

	/**
	 * The feature id for the '<em><b>Files</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MODULE__FILES = 1;

	/**
	 * The number of structural features of the '<em>Module</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MODULE_FEATURE_COUNT = 2;

	/**
	 * The meta object id for the '{@link FeatureCode.impl.FeatureExpressionImpl <em>Feature Expression</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.impl.FeatureExpressionImpl
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getFeatureExpression()
	 * @generated
	 */
	int FEATURE_EXPRESSION = 2;

	/**
	 * The number of structural features of the '<em>Feature Expression</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int FEATURE_EXPRESSION_FEATURE_COUNT = 0;

	/**
	 * The meta object id for the '{@link FeatureCode.impl.UnaryFeatureExpressionImpl <em>Unary Feature Expression</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.impl.UnaryFeatureExpressionImpl
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getUnaryFeatureExpression()
	 * @generated
	 */
	int UNARY_FEATURE_EXPRESSION = 3;

	/**
	 * The feature id for the '<em><b>Expr</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int UNARY_FEATURE_EXPRESSION__EXPR = FEATURE_EXPRESSION_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Operator</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int UNARY_FEATURE_EXPRESSION__OPERATOR = FEATURE_EXPRESSION_FEATURE_COUNT + 1;

	/**
	 * The number of structural features of the '<em>Unary Feature Expression</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int UNARY_FEATURE_EXPRESSION_FEATURE_COUNT = FEATURE_EXPRESSION_FEATURE_COUNT + 2;

	/**
	 * The meta object id for the '{@link FeatureCode.impl.BinaryFeatureExpressionImpl <em>Binary Feature Expression</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.impl.BinaryFeatureExpressionImpl
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getBinaryFeatureExpression()
	 * @generated
	 */
	int BINARY_FEATURE_EXPRESSION = 4;

	/**
	 * The feature id for the '<em><b>Right</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BINARY_FEATURE_EXPRESSION__RIGHT = FEATURE_EXPRESSION_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Left</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BINARY_FEATURE_EXPRESSION__LEFT = FEATURE_EXPRESSION_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Operator</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BINARY_FEATURE_EXPRESSION__OPERATOR = FEATURE_EXPRESSION_FEATURE_COUNT + 2;

	/**
	 * The number of structural features of the '<em>Binary Feature Expression</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int BINARY_FEATURE_EXPRESSION_FEATURE_COUNT = FEATURE_EXPRESSION_FEATURE_COUNT + 3;

	/**
	 * The meta object id for the '{@link FeatureCode.impl.ModelRootImpl <em>Model Root</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.impl.ModelRootImpl
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getModelRoot()
	 * @generated
	 */
	int MODEL_ROOT = 5;

	/**
	 * The feature id for the '<em><b>Modules</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MODEL_ROOT__MODULES = 0;

	/**
	 * The feature id for the '<em><b>Mappings</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MODEL_ROOT__MAPPINGS = 1;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MODEL_ROOT__NAME = 2;

	/**
	 * The number of structural features of the '<em>Model Root</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int MODEL_ROOT_FEATURE_COUNT = 3;

	/**
	 * The meta object id for the '{@link FeatureCode.impl.FileMappingImpl <em>File Mapping</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.impl.FileMappingImpl
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getFileMapping()
	 * @generated
	 */
	int FILE_MAPPING = 6;

	/**
	 * The feature id for the '<em><b>Module</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int FILE_MAPPING__MODULE = 0;

	/**
	 * The feature id for the '<em><b>Files</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int FILE_MAPPING__FILES = 1;

	/**
	 * The number of structural features of the '<em>File Mapping</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int FILE_MAPPING_FEATURE_COUNT = 2;

	/**
	 * The meta object id for the '{@link FeatureCode.impl.FeatureImpl <em>Feature</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.impl.FeatureImpl
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getFeature()
	 * @generated
	 */
	int FEATURE = 7;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int FEATURE__NAME = FEATURE_EXPRESSION_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Feature</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int FEATURE_FEATURE_COUNT = FEATURE_EXPRESSION_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link FeatureCode.impl.PathImpl <em>Path</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.impl.PathImpl
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getPath()
	 * @generated
	 */
	int PATH = 8;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATH__NAME = 0;

	/**
	 * The number of structural features of the '<em>Path</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATH_FEATURE_COUNT = 1;

	/**
	 * The meta object id for the '{@link FeatureCode.impl.PathExpressionImpl <em>Path Expression</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.impl.PathExpressionImpl
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getPathExpression()
	 * @generated
	 */
	int PATH_EXPRESSION = 9;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATH_EXPRESSION__NAME = PATH__NAME;

	/**
	 * The feature id for the '<em><b>Special</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATH_EXPRESSION__SPECIAL = PATH_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Prefix</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATH_EXPRESSION__PREFIX = PATH_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Suffix</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATH_EXPRESSION__SUFFIX = PATH_FEATURE_COUNT + 2;

	/**
	 * The number of structural features of the '<em>Path Expression</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int PATH_EXPRESSION_FEATURE_COUNT = PATH_FEATURE_COUNT + 3;

	/**
	 * The meta object id for the '{@link FeatureCode.OperatorsEnum <em>Operators Enum</em>}' enum.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.OperatorsEnum
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getOperatorsEnum()
	 * @generated
	 */
	int OPERATORS_ENUM = 10;

	/**
	 * The meta object id for the '{@link FeatureCode.PathEnum <em>Path Enum</em>}' enum.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see FeatureCode.PathEnum
	 * @see FeatureCode.impl.FeatureCodePackageImpl#getPathEnum()
	 * @generated
	 */
	int PATH_ENUM = 11;


	/**
	 * Returns the meta object for class '{@link FeatureCode.Mapping <em>Mapping</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Mapping</em>'.
	 * @see FeatureCode.Mapping
	 * @generated
	 */
	EClass getMapping();

	/**
	 * Returns the meta object for the containment reference '{@link FeatureCode.Mapping#getExpr <em>Expr</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Expr</em>'.
	 * @see FeatureCode.Mapping#getExpr()
	 * @see #getMapping()
	 * @generated
	 */
	EReference getMapping_Expr();

	/**
	 * Returns the meta object for the containment reference list '{@link FeatureCode.Mapping#getMapping <em>Mapping</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Mapping</em>'.
	 * @see FeatureCode.Mapping#getMapping()
	 * @see #getMapping()
	 * @generated
	 */
	EReference getMapping_Mapping();

	/**
	 * Returns the meta object for class '{@link FeatureCode.Module <em>Module</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Module</em>'.
	 * @see FeatureCode.Module
	 * @generated
	 */
	EClass getModule();

	/**
	 * Returns the meta object for the attribute '{@link FeatureCode.Module#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see FeatureCode.Module#getName()
	 * @see #getModule()
	 * @generated
	 */
	EAttribute getModule_Name();

	/**
	 * Returns the meta object for the containment reference list '{@link FeatureCode.Module#getFiles <em>Files</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Files</em>'.
	 * @see FeatureCode.Module#getFiles()
	 * @see #getModule()
	 * @generated
	 */
	EReference getModule_Files();

	/**
	 * Returns the meta object for class '{@link FeatureCode.FeatureExpression <em>Feature Expression</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Feature Expression</em>'.
	 * @see FeatureCode.FeatureExpression
	 * @generated
	 */
	EClass getFeatureExpression();

	/**
	 * Returns the meta object for class '{@link FeatureCode.UnaryFeatureExpression <em>Unary Feature Expression</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Unary Feature Expression</em>'.
	 * @see FeatureCode.UnaryFeatureExpression
	 * @generated
	 */
	EClass getUnaryFeatureExpression();

	/**
	 * Returns the meta object for the containment reference '{@link FeatureCode.UnaryFeatureExpression#getExpr <em>Expr</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Expr</em>'.
	 * @see FeatureCode.UnaryFeatureExpression#getExpr()
	 * @see #getUnaryFeatureExpression()
	 * @generated
	 */
	EReference getUnaryFeatureExpression_Expr();

	/**
	 * Returns the meta object for the attribute '{@link FeatureCode.UnaryFeatureExpression#getOperator <em>Operator</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Operator</em>'.
	 * @see FeatureCode.UnaryFeatureExpression#getOperator()
	 * @see #getUnaryFeatureExpression()
	 * @generated
	 */
	EAttribute getUnaryFeatureExpression_Operator();

	/**
	 * Returns the meta object for class '{@link FeatureCode.BinaryFeatureExpression <em>Binary Feature Expression</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Binary Feature Expression</em>'.
	 * @see FeatureCode.BinaryFeatureExpression
	 * @generated
	 */
	EClass getBinaryFeatureExpression();

	/**
	 * Returns the meta object for the containment reference '{@link FeatureCode.BinaryFeatureExpression#getRight <em>Right</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Right</em>'.
	 * @see FeatureCode.BinaryFeatureExpression#getRight()
	 * @see #getBinaryFeatureExpression()
	 * @generated
	 */
	EReference getBinaryFeatureExpression_Right();

	/**
	 * Returns the meta object for the containment reference '{@link FeatureCode.BinaryFeatureExpression#getLeft <em>Left</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Left</em>'.
	 * @see FeatureCode.BinaryFeatureExpression#getLeft()
	 * @see #getBinaryFeatureExpression()
	 * @generated
	 */
	EReference getBinaryFeatureExpression_Left();

	/**
	 * Returns the meta object for the attribute '{@link FeatureCode.BinaryFeatureExpression#getOperator <em>Operator</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Operator</em>'.
	 * @see FeatureCode.BinaryFeatureExpression#getOperator()
	 * @see #getBinaryFeatureExpression()
	 * @generated
	 */
	EAttribute getBinaryFeatureExpression_Operator();

	/**
	 * Returns the meta object for class '{@link FeatureCode.ModelRoot <em>Model Root</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Model Root</em>'.
	 * @see FeatureCode.ModelRoot
	 * @generated
	 */
	EClass getModelRoot();

	/**
	 * Returns the meta object for the containment reference list '{@link FeatureCode.ModelRoot#getModules <em>Modules</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Modules</em>'.
	 * @see FeatureCode.ModelRoot#getModules()
	 * @see #getModelRoot()
	 * @generated
	 */
	EReference getModelRoot_Modules();

	/**
	 * Returns the meta object for the containment reference list '{@link FeatureCode.ModelRoot#getMappings <em>Mappings</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Mappings</em>'.
	 * @see FeatureCode.ModelRoot#getMappings()
	 * @see #getModelRoot()
	 * @generated
	 */
	EReference getModelRoot_Mappings();

	/**
	 * Returns the meta object for the attribute '{@link FeatureCode.ModelRoot#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see FeatureCode.ModelRoot#getName()
	 * @see #getModelRoot()
	 * @generated
	 */
	EAttribute getModelRoot_Name();

	/**
	 * Returns the meta object for class '{@link FeatureCode.FileMapping <em>File Mapping</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>File Mapping</em>'.
	 * @see FeatureCode.FileMapping
	 * @generated
	 */
	EClass getFileMapping();

	/**
	 * Returns the meta object for the reference '{@link FeatureCode.FileMapping#getModule <em>Module</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Module</em>'.
	 * @see FeatureCode.FileMapping#getModule()
	 * @see #getFileMapping()
	 * @generated
	 */
	EReference getFileMapping_Module();

	/**
	 * Returns the meta object for the containment reference list '{@link FeatureCode.FileMapping#getFiles <em>Files</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Files</em>'.
	 * @see FeatureCode.FileMapping#getFiles()
	 * @see #getFileMapping()
	 * @generated
	 */
	EReference getFileMapping_Files();

	/**
	 * Returns the meta object for class '{@link FeatureCode.Feature <em>Feature</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Feature</em>'.
	 * @see FeatureCode.Feature
	 * @generated
	 */
	EClass getFeature();

	/**
	 * Returns the meta object for the attribute '{@link FeatureCode.Feature#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see FeatureCode.Feature#getName()
	 * @see #getFeature()
	 * @generated
	 */
	EAttribute getFeature_Name();

	/**
	 * Returns the meta object for class '{@link FeatureCode.Path <em>Path</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Path</em>'.
	 * @see FeatureCode.Path
	 * @generated
	 */
	EClass getPath();

	/**
	 * Returns the meta object for the attribute '{@link FeatureCode.Path#getName <em>Name</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Name</em>'.
	 * @see FeatureCode.Path#getName()
	 * @see #getPath()
	 * @generated
	 */
	EAttribute getPath_Name();

	/**
	 * Returns the meta object for class '{@link FeatureCode.PathExpression <em>Path Expression</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Path Expression</em>'.
	 * @see FeatureCode.PathExpression
	 * @generated
	 */
	EClass getPathExpression();

	/**
	 * Returns the meta object for the attribute '{@link FeatureCode.PathExpression#getSpecial <em>Special</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the attribute '<em>Special</em>'.
	 * @see FeatureCode.PathExpression#getSpecial()
	 * @see #getPathExpression()
	 * @generated
	 */
	EAttribute getPathExpression_Special();

	/**
	 * Returns the meta object for the containment reference '{@link FeatureCode.PathExpression#getPrefix <em>Prefix</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Prefix</em>'.
	 * @see FeatureCode.PathExpression#getPrefix()
	 * @see #getPathExpression()
	 * @generated
	 */
	EReference getPathExpression_Prefix();

	/**
	 * Returns the meta object for the containment reference '{@link FeatureCode.PathExpression#getSuffix <em>Suffix</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference '<em>Suffix</em>'.
	 * @see FeatureCode.PathExpression#getSuffix()
	 * @see #getPathExpression()
	 * @generated
	 */
	EReference getPathExpression_Suffix();

	/**
	 * Returns the meta object for enum '{@link FeatureCode.OperatorsEnum <em>Operators Enum</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for enum '<em>Operators Enum</em>'.
	 * @see FeatureCode.OperatorsEnum
	 * @generated
	 */
	EEnum getOperatorsEnum();

	/**
	 * Returns the meta object for enum '{@link FeatureCode.PathEnum <em>Path Enum</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for enum '<em>Path Enum</em>'.
	 * @see FeatureCode.PathEnum
	 * @generated
	 */
	EEnum getPathEnum();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	FeatureCodeFactory getFeatureCodeFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link FeatureCode.impl.MappingImpl <em>Mapping</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.impl.MappingImpl
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getMapping()
		 * @generated
		 */
		EClass MAPPING = eINSTANCE.getMapping();

		/**
		 * The meta object literal for the '<em><b>Expr</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference MAPPING__EXPR = eINSTANCE.getMapping_Expr();

		/**
		 * The meta object literal for the '<em><b>Mapping</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference MAPPING__MAPPING = eINSTANCE.getMapping_Mapping();

		/**
		 * The meta object literal for the '{@link FeatureCode.impl.ModuleImpl <em>Module</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.impl.ModuleImpl
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getModule()
		 * @generated
		 */
		EClass MODULE = eINSTANCE.getModule();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute MODULE__NAME = eINSTANCE.getModule_Name();

		/**
		 * The meta object literal for the '<em><b>Files</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference MODULE__FILES = eINSTANCE.getModule_Files();

		/**
		 * The meta object literal for the '{@link FeatureCode.impl.FeatureExpressionImpl <em>Feature Expression</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.impl.FeatureExpressionImpl
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getFeatureExpression()
		 * @generated
		 */
		EClass FEATURE_EXPRESSION = eINSTANCE.getFeatureExpression();

		/**
		 * The meta object literal for the '{@link FeatureCode.impl.UnaryFeatureExpressionImpl <em>Unary Feature Expression</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.impl.UnaryFeatureExpressionImpl
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getUnaryFeatureExpression()
		 * @generated
		 */
		EClass UNARY_FEATURE_EXPRESSION = eINSTANCE.getUnaryFeatureExpression();

		/**
		 * The meta object literal for the '<em><b>Expr</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference UNARY_FEATURE_EXPRESSION__EXPR = eINSTANCE.getUnaryFeatureExpression_Expr();

		/**
		 * The meta object literal for the '<em><b>Operator</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute UNARY_FEATURE_EXPRESSION__OPERATOR = eINSTANCE.getUnaryFeatureExpression_Operator();

		/**
		 * The meta object literal for the '{@link FeatureCode.impl.BinaryFeatureExpressionImpl <em>Binary Feature Expression</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.impl.BinaryFeatureExpressionImpl
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getBinaryFeatureExpression()
		 * @generated
		 */
		EClass BINARY_FEATURE_EXPRESSION = eINSTANCE.getBinaryFeatureExpression();

		/**
		 * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference BINARY_FEATURE_EXPRESSION__RIGHT = eINSTANCE.getBinaryFeatureExpression_Right();

		/**
		 * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference BINARY_FEATURE_EXPRESSION__LEFT = eINSTANCE.getBinaryFeatureExpression_Left();

		/**
		 * The meta object literal for the '<em><b>Operator</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute BINARY_FEATURE_EXPRESSION__OPERATOR = eINSTANCE.getBinaryFeatureExpression_Operator();

		/**
		 * The meta object literal for the '{@link FeatureCode.impl.ModelRootImpl <em>Model Root</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.impl.ModelRootImpl
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getModelRoot()
		 * @generated
		 */
		EClass MODEL_ROOT = eINSTANCE.getModelRoot();

		/**
		 * The meta object literal for the '<em><b>Modules</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference MODEL_ROOT__MODULES = eINSTANCE.getModelRoot_Modules();

		/**
		 * The meta object literal for the '<em><b>Mappings</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference MODEL_ROOT__MAPPINGS = eINSTANCE.getModelRoot_Mappings();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute MODEL_ROOT__NAME = eINSTANCE.getModelRoot_Name();

		/**
		 * The meta object literal for the '{@link FeatureCode.impl.FileMappingImpl <em>File Mapping</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.impl.FileMappingImpl
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getFileMapping()
		 * @generated
		 */
		EClass FILE_MAPPING = eINSTANCE.getFileMapping();

		/**
		 * The meta object literal for the '<em><b>Module</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference FILE_MAPPING__MODULE = eINSTANCE.getFileMapping_Module();

		/**
		 * The meta object literal for the '<em><b>Files</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference FILE_MAPPING__FILES = eINSTANCE.getFileMapping_Files();

		/**
		 * The meta object literal for the '{@link FeatureCode.impl.FeatureImpl <em>Feature</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.impl.FeatureImpl
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getFeature()
		 * @generated
		 */
		EClass FEATURE = eINSTANCE.getFeature();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute FEATURE__NAME = eINSTANCE.getFeature_Name();

		/**
		 * The meta object literal for the '{@link FeatureCode.impl.PathImpl <em>Path</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.impl.PathImpl
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getPath()
		 * @generated
		 */
		EClass PATH = eINSTANCE.getPath();

		/**
		 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PATH__NAME = eINSTANCE.getPath_Name();

		/**
		 * The meta object literal for the '{@link FeatureCode.impl.PathExpressionImpl <em>Path Expression</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.impl.PathExpressionImpl
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getPathExpression()
		 * @generated
		 */
		EClass PATH_EXPRESSION = eINSTANCE.getPathExpression();

		/**
		 * The meta object literal for the '<em><b>Special</b></em>' attribute feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EAttribute PATH_EXPRESSION__SPECIAL = eINSTANCE.getPathExpression_Special();

		/**
		 * The meta object literal for the '<em><b>Prefix</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PATH_EXPRESSION__PREFIX = eINSTANCE.getPathExpression_Prefix();

		/**
		 * The meta object literal for the '<em><b>Suffix</b></em>' containment reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference PATH_EXPRESSION__SUFFIX = eINSTANCE.getPathExpression_Suffix();

		/**
		 * The meta object literal for the '{@link FeatureCode.OperatorsEnum <em>Operators Enum</em>}' enum.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.OperatorsEnum
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getOperatorsEnum()
		 * @generated
		 */
		EEnum OPERATORS_ENUM = eINSTANCE.getOperatorsEnum();

		/**
		 * The meta object literal for the '{@link FeatureCode.PathEnum <em>Path Enum</em>}' enum.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see FeatureCode.PathEnum
		 * @see FeatureCode.impl.FeatureCodePackageImpl#getPathEnum()
		 * @generated
		 */
		EEnum PATH_ENUM = eINSTANCE.getPathEnum();

	}

} //FeatureCodePackage
